package com.syni.mdd.yhd.common.all.service.impl;

import com.syni.mdd.yhd.common.all.constants.Constants;
import com.syni.mdd.yhd.common.all.dao.BaseJPADao;
import com.syni.mdd.yhd.common.all.dao.jpa.BmsLocalLifeDao;
import com.syni.mdd.yhd.common.all.dao.jpa.BmsLocalLifeGoodsDao;
import com.syni.mdd.yhd.common.all.entity.BmsLocalLife;
import com.syni.mdd.yhd.common.all.entity.BmsLocalLifeGoods;
import com.syni.mdd.yhd.common.all.service.BmsLocalLifeGoodsService;
import com.syni.mdd.yhd.common.all.service.BmsLocalLifeService;
import com.syni.mdd.sjb.common.component.utils.common.utils.ParamsMap;
import com.syni.mdd.sjb.common.component.utils.common.utils.ResultMapHelper;
import com.syni.mdd.yhd.common.all.utils.SpecificationUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;

import java.util.*;

/**
 * @author: huangwenquan
 * @date: 2020/2/24 14:50
 * @description:本地生活
 */
@Service
public class BmsLocalLifeGoodsServiceImpl extends BaseService<BmsLocalLifeGoods, Integer> implements BmsLocalLifeGoodsService {

    @Autowired
    BmsLocalLifeGoodsDao bmsLocalLifeGoodsDao;

    @Override
    public BaseJPADao<BmsLocalLifeGoods, Integer> getBaseDao() {
        return bmsLocalLifeGoodsDao;
    }

    @Override
    public Map<Integer, BmsLocalLifeGoods> getBmsLocalLifeGoodMap(Set<Integer> goodIds) {
        Map<Integer, BmsLocalLifeGoods> bmsLocalLifeGoodsMap = new HashMap<>();
        List<BmsLocalLifeGoods> bmsLocalLifeGoods = bmsLocalLifeGoodsDao.findByIsDeleteAndIdIn(Constants.COMMON_FLAG_FALSE_INT,goodIds);
        if (bmsLocalLifeGoods != null && bmsLocalLifeGoods.size() > 0) {
            for (BmsLocalLifeGoods bs : bmsLocalLifeGoods) {
                bmsLocalLifeGoodsMap.put(bs.getId(), bs);
            }
        }
        return bmsLocalLifeGoodsMap;
    }

    @Override
    public Map<Integer, BmsLocalLifeGoods> getBmsLocalLifeGoodMapNotDel(Set<Integer> goodIds) {
        Map<Integer, BmsLocalLifeGoods> bmsLocalLifeGoodsMap = new HashMap<>();
        List<BmsLocalLifeGoods> bmsLocalLifeGoods = bmsLocalLifeGoodsDao.findByIdIn(goodIds);
        if (bmsLocalLifeGoods != null && bmsLocalLifeGoods.size() > 0) {
            for (BmsLocalLifeGoods bs : bmsLocalLifeGoods) {
                bmsLocalLifeGoodsMap.put(bs.getId(), bs);
            }
        }
        return bmsLocalLifeGoodsMap;
    }

    @Override
    public Map<Integer, String> getOrderProductImg(Set<Integer> goodIds) {
        List<BmsLocalLifeGoods> bmsLocalLifeGoods = bmsLocalLifeGoodsDao.findByIdIn(goodIds);
        Map<Integer, String> productImgMap = new HashMap<>();
        if (bmsLocalLifeGoods != null && bmsLocalLifeGoods.size() > 0) {
            for (BmsLocalLifeGoods bs : bmsLocalLifeGoods) {
                productImgMap.put(bs.getId(), bs.getGoodsImg());
            }
        }
        return productImgMap;
    }
}